package com.ipartek.formacion.gestformwww.modelo.beans;

import com.ipartek.formacion.gestformwww.controlador.Verificador;
import java.sql.*;
import java.util.ArrayList;

/**
 *
 * @author Curso
 * Autor: �lvaro de la Cal
 * Fecha Creaci�n: 04/10/2010 10:20
 */

public class AlumCurso {
    private boolean practicas;
    private float valFinal;
    private int aluId;//De Alumno Relacionado con Alumno
    private int curId;//Relacionado con Curso
    private boolean terminado;
    private Timestamp fchUltiCla;
    private boolean reserva;
    private int orden;
    private String avisos;//255
    private String observaciones;//500

    public AlumCurso(boolean practicas, float valFinal, int aluId, int curId, boolean terminado, Timestamp fchUltiCla, boolean reserva, int orden, String avisos, String observaciones) {
        this.practicas = practicas;
        this.valFinal = valFinal;
        this.aluId = aluId;
        this.curId = curId;
        this.terminado = terminado;
        this.fchUltiCla = fchUltiCla;
        this.reserva = reserva;
        this.orden = orden;
        this.avisos = avisos;
        this.observaciones = observaciones;
    }

    public AlumCurso() {
        
    }

    public void setAluId(int aluId) {
        this.aluId = aluId;
    }

    public int getAluId() {
        return aluId;
    }   

    public void setAvisos(String avisos) {
        this.avisos = avisos;
    }

    public void setCurId(int curId) {
        this.curId = curId;
    }

    public void setFchUltiCla(Timestamp fchUltiCla) {
        this.fchUltiCla = fchUltiCla;
    }

    public void setFchUltiCla(String fchUltiCla) {
        try{
            this.fchUltiCla = Verificador.stringAFecha(fchUltiCla);
        }catch (Exception ex){
            this.fchUltiCla = null;
        }
    }

    public void setObservaciones(String observaciones) {
        this.observaciones = observaciones;
    }

    public void setOrden(int orden) {
        this.orden = orden;
    }

    public void setPracticas(boolean practicas) {
        this.practicas = practicas;
    }

    public void setPracticas(String practicas){
        try {
            this.practicas = Boolean.parseBoolean(practicas);
        } catch (Exception ex) {
            this.practicas = false;
        }
    }

    public void setReserva(boolean reserva) {
        this.reserva = reserva;
    }

    public void setReserva(String reserva) {
       try {
            this.reserva = Boolean.parseBoolean(reserva);
        } catch (Exception ex) {
            this.reserva = false;
        }
    }

    public void setTerminado(boolean terminado) {
        this.terminado = terminado;
    }

    public void setTerminado(String terminado){
        try {
            this.terminado = Boolean.parseBoolean(terminado);
        } catch (Exception ex) {
            this.terminado = false;
        }
    }

    public void setValFinal(float valFinal) {
        this.valFinal = valFinal;
    }

    public void setValFinal(String valFinal){
        try{
            this.valFinal=Float.parseFloat(valFinal);
        }catch(Exception ex){
            this.valFinal=0;
        }
    }

    public String getAvisos() {
        return avisos;
    }

    public int getCurId() {
        return curId;
    }

    public Timestamp getFchUltiCla() {
        return fchUltiCla;
    }

    public String getObservaciones() {
        return observaciones;
    }

    public int getOrden() {
        return orden;
    }

    public boolean isPracticas() {
        return practicas;
    }

    public boolean isReserva() {
        return reserva;
    }

    public boolean isTerminado() {
        return terminado;
    }

    public float getValFinal() {
        return valFinal;
    }

    /**
 * valida que los datos del alumno son correctos
 * @return
 */
    public ArrayList<String> validar(){
        ArrayList<String>  errores= new ArrayList<String>();

        if (!Verificador.caracteresCorrectos(observaciones)) {
            errores.add("error-observaciones-curso-incorrecto");
        }
        if (!Verificador.caracteresCorrectos(avisos)) {
            errores.add("error-avisos-infocurso-incorrecto");
        }

        return errores;
    }
}